package com.xunyin.modules.members.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xunyin.domain.BaseDomain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @Author xunyinyunshang  <3594419785@qq.com>
 * @date 2022-09-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_members")
public class TMembers extends BaseDomain {

    /**
     * 会员设置ID
     */
    @TableId
    @ApiModelProperty(value = "会员设置ID")
    private Integer id;

    /**
     * 会员名称
     */
    private String membersName;

    /**
     * 会员级别
     */
    private Integer membersLevel;

    /**
     * 会员卡享受时长
     */
    @ApiModelProperty(value = "小时价格")
    @NotNull(message = "请输入小时价格")
    @DecimalMin(value = "0.00", message = "小时价格不在合法范围内")
    @DecimalMax(value = "99999999.99", message = "小时价格不在合法范围内")
    private BigDecimal membersTimeLength;

    /**
     * 会员积分抵现
     */
    private String membersIntegralToNow;

    /**
     * 会员价格
     */
    @ApiModelProperty(value = "小时价格")
    @NotNull(message = "请输入小时价格")
    @DecimalMin(value = "0.00", message = "小时价格不在合法范围内")
    @DecimalMax(value = "99999999.99", message = "小时价格不在合法范围内")
    private BigDecimal membersPrice;

    /**
     * 会员享受购买折扣
     */
    @ApiModelProperty(value = "小时价格")
    @NotNull(message = "请输入小时价格")
    @DecimalMin(value = "0.00", message = "小时价格不在合法范围内")
    @DecimalMax(value = "99999999.99", message = "小时价格不在合法范围内")
    private BigDecimal membersDiscount;

    /**
     * 会员卡-适用主体
     */
    private String mainId;

    /**
     * 用户会员卡-适用主体名称
     */
    private String mainName;

    /**
     * 转让次数（一级会员不限次数，二级会员10次）
     */
    private Integer membersTransCount;

    /**
     * 状态
     */
    private String status;

    private String createUserId;

    private String updateUserId;

}
